﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;



using System.Collections;
using System.Configuration;
using System.Data;
using System.Web.Security;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Banesco.Logica;
using ProntoCompra.Logica;
using Banesco.Entidades;

namespace WebCliente.Pages
{
    public partial class SolicitudesEnTramite : BanescoBase
    {
        BSBanesco objBS = new BSBanesco();
        BanescoBase PaginaBase = new BanescoBase();
        Mensaje retMensaje = new Mensaje();
        UsuarioBase Usuario = new UsuarioBase();
        const string LOCALKEYSORT = "101";
        const string LOCALKEYSORTCOLUMN = "102";
        const string KEYDatosBusqueda = "resultado";
        private int IDCliente
        {
            get
            {
                try
                {
                    return (int)Session["_IDCliente"];
                }
                catch
                {
                    return 0;
                }
            }
            set { Session.Add("_IDCliente", value); }
        }


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ParametrosIniciales();
            }
        }


        protected void ParametrosIniciales()
        {
            DataSet dsDatos = new DataSet();

            objBS.ObtenerPaises(ref dsDatos);
            //PaginaBase.CargarDropDown(ddlPaisOrigen, dsDatos.Tables[0], "pa_descripcion", "pa_codigo", false, "- Seleccione País -");
            //PaginaBase.CargarDropDown(ddlPaisResidencia, dsDatos.Tables[0], "pa_descripcion", "pa_codigo", false, "- Seleccione País -");
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            BuscarSolicitud();
        }

        protected void BuscarSolicitud()
        {

            DataSet dsDatos = new DataSet();
            //objBS.BuscarSolicitudes(ref dsDatos, txtNombres.Text, ObtenerNumero(txtNumeroDeSolicitud), txtNumeroDeIdentificacion.Text, ObtenerDecimal(txtMontoDeVentas), valorDDL(ddlPaisOrigen), valorDDL(ddlPaisResidencia), ValorDeCheck(chkCuentaOtroPais, "S", "N"), "");
            objBS.BuscarSolicitudes(ref dsDatos, txtNombres.Text, ObtenerNumero(txtNumeroDeSolicitud), txtNumeroDeIdentificacion.Text, 0, "", "", "", "");

            dgResultados.DataSource = dsDatos;
            //dgResultados.CurrentPageIndex = iPagina
            dgResultados.DataBind();
            DataTable dtDatos = new DataTable();
            dtDatos = dsDatos.Tables[0];
            Session.Add(KEYDatosBusqueda, dtDatos);
        }

       
        protected void dgResultados_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (String.Equals(e.CommandName.ToString().ToUpper(), "SELECT"))
            {
                int idSolicitud = Convert.ToInt32(e.CommandArgument.ToString());
                Usuario.IdSolicitud = idSolicitud;
                IDCliente = idSolicitud;
                Session.Add(Constantes.SESIONUSUARIO, Usuario);
                Server.Transfer(Constantes.PAGINAATENCIONSOLICITUD);
            }
        }

        protected void dgResultados_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            dgResultados.CurrentPageIndex = e.NewPageIndex;
            BuscarSolicitud();
        }

        protected void btnNuevoNatural_Click(object sender, EventArgs e)
        {
            Mensaje retMensaje = new Mensaje();
            try
            {
                int ret = 0;
                retMensaje = objBS.RegistrarCliente(Constantes.CLIENTEDEPLATAFORMA, Constantes.PERSONANATURAL, Constantes.EMAIL, "I", string.Format("Host:{0} | IP:{1} | Browser:{2}", Request.UserHostName, Request.UserHostAddress, Request.Browser.Type), ref ret, Request.UserHostAddress);
                if (retMensaje.Status == Mensaje.EnumStatus.OK)
                {
                    string mensajeEncriptar = ret.ToString();
                    Session[Constantes.SESIONCLIENTEPLATAFORMA] = mensajeEncriptar;
                    Response.Redirect(Constantes.PAGINAAPERTURANATURAL);
                }
            }
            catch (Exception) { }
        }

        protected void btnNuevoJuridica_Click(object sender, EventArgs e)
        {
            Mensaje retMensaje = new Mensaje();
            try
            {
                int ret = 0;
                retMensaje = objBS.RegistrarCliente(Constantes.CLIENTEDEPLATAFORMA, Constantes.PERSONAJURIDICA, Constantes.EMAIL, "I", string.Format("Host:{0} | IP:{1} | Browser:{2}", Request.UserHostName, Request.UserHostAddress, Request.Browser.Type), ref ret, Request.UserHostAddress);
                if (retMensaje.Status == Mensaje.EnumStatus.OK)
                {
                    string mensajeEncriptar = ret.ToString();
                    Session[Constantes.SESIONCLIENTEPLATAFORMA] = mensajeEncriptar;
                    Response.Redirect(Constantes.PAGINAAPERTURAJURIDICA);
                }
            }
            catch (Exception) { }
        }

        protected void dgResultados_SortCommand(object source, DataGridSortCommandEventArgs e)
        {
            String newSortColumn = e.SortExpression.ToString();
            String newSortOrder = "ASC";
            String lastSortColumn = Convert.ToString(ViewState[LOCALKEYSORTCOLUMN]);
            String lastSortOrder = Convert.ToString(ViewState[LOCALKEYSORT]);
            if (newSortColumn.Equals(lastSortColumn) && lastSortOrder.Equals("ASC"))
            {
                newSortOrder = "DESC";
            }
            ViewState.Add(LOCALKEYSORT, newSortOrder);
            ViewState.Add(LOCALKEYSORTCOLUMN, newSortColumn);
            PresentarDatos(0);
        }

        protected void PresentarDatos(int iPagina)
        {
            String SortColumn = Convert.ToString(ViewState[LOCALKEYSORTCOLUMN]);
            String SortOrder = Convert.ToString(ViewState[LOCALKEYSORT]);
            DataView dv = ((DataTable)(Session[KEYDatosBusqueda])).DefaultView;
            if ((SortOrder != string.Empty) & (SortColumn != string.Empty))
            { dv.Sort = SortColumn + " " + SortOrder; }
            dgResultados.DataSource = dv;
            dgResultados.CurrentPageIndex = iPagina;
            dgResultados.DataBind();
        }


    }
}
